package com.cskaoyan.javase.oop2._1extends._6initialization._2question;

/**
 * @description: 为什么this、super在表示调用构造器时都要在第一行？
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/


/**
 * 因为在Java中如果第一行没有this、super在表示调用构造器，那么都隐含一个super();
 *
 * 所以如果第二行或以后还有this、super表示调用构造器，可能会出现多次调用父类构造器的情况
 *
 */
public class Demo {
    public static void main(String[] args) {

    }
}

class Father{
    int a;

    public Father() {
    }

    public Father(int a) {
        this.a = a;
    }
}
class Son extends Father{
    int b;

    public Son(int b) {
        this();
        //super();
        this.b = b;
    }

    public Son() {
        //super()
    }
}